package org.jeecg.common.modules.doctor.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;
import org.jeecg.common.modules.doctor.entity.DoctorRegisterRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.jeecg.common.modules.doctor.vo.DoctorRegisterRecordListVo;
import org.jeecg.common.modules.doctor.vo.DoctorRegisterRecordSysListVo;
import org.jeecg.common.modules.doctor.vo.DoctorRegisterRecordSysSettleVo;

/**
 * @Description: doctor_register_record
 * @Author: jeecg-boot
 * @Date:   2020-12-23
 * @Version: V1.0
 */
public interface DoctorRegisterRecordMapper extends BaseMapper<DoctorRegisterRecord> {
    /**
     * 根据微信用户的openid获取挂号记录
     */
    List<DoctorRegisterRecordListVo> getRegisterRecord(
            @Param("openid") String openid,
            @Param("nowDate") String nowDate,
            @Param("beforeThirtyDate") String beforeThirtyDate,
            @Param("status") String status);

    /**
     * 根据挂号记录id获取挂号记录
     */
    DoctorRegisterRecordListVo getRegisterRecordOne(@Param("recordId") String recordId);


    /**
     * 系统后台展示
     */
    List<DoctorRegisterRecordSysListVo> getRegisterRecordSysList(
            @Param("doctorName") String doctorName,
            @Param("patientName") String patientName,
            @Param("visitTime") String visitTime,
            @Param("status") Integer status,
            @Param("dataStart") Integer dataStart,
            @Param("pageSize") Integer pageSize
    );

    /**
     * 获取系统后台展示的记录总数
     */
    int getRegisterRecordSysCount(@Param("doctorName") String doctorName,
                                  @Param("patientName") String patientName,
                                  @Param("visitTime") String visitTime,
                                  @Param("status") Integer status);

    /**
     * 系统后台展示
     */
    DoctorRegisterRecordSysSettleVo getRecordSettleInfo(
            @Param("recordId") String recordId
    );

    /**
     * 根据挂号记录id获取单条挂号单关联的信息
     */
    DoctorRegisterRecordSysListVo getRegisterRecordSysOne(
            @Param("recordId") String recordId
    );
    List<DoctorRegisterRecordListVo>  getRegisterRecordTime(
            @Param("doctorId") String doctorId,
            @Param("visitTime") String visitTim,
            @Param("registerHospitalId") String registerHospitalId);
}
